package fr.afcepf.atod18.hotels.services.impl;

import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.transaction.annotation.Transactional;

import fr.afcepf.atod18.hotels.dao.interfaces.IAdresseDAO;
import fr.afcepf.atod18.hotels.entities.Adresse;
import fr.afcepf.atod18.hotels.services.interfaces.IServiceAdresse;

@Named
@Transactional
public class ServiceAdresse implements IServiceAdresse {

	@Inject
	private IAdresseDAO daoAdresse;
	
	@Override
	public void createAdresse(Adresse a) {
		daoAdresse.persist(a);

	}

	@Override
	public Adresse getAdresseByID(int id) {
		return daoAdresse.findById(id);
	}

	@Override
	public List<Adresse> getAllAdresse() {
		return daoAdresse.findAll();
	}

	@Override
	public void updateAdresse(Adresse a) {
		daoAdresse.merge(a);

	}

	@Override
	public void deleteAdresse(Adresse a) {
		daoAdresse.remove(a);

	}

	@Override
	public List<Adresse> getAdressesByVille(int IdVille) {
		return daoAdresse.findAdressesByVille(IdVille);
	}

}
